――――――――――――――――――――――――――――――――――――――――――――――――――
Touhou Community Reliant Automatic Patcher logfile
Branch: stable
Version: 2021-01-17
Build time: Jan 17 2021 21:49:31
Built by: brliron
Command line: "D:\Games\Touhou\Official\Touhou 16 - Hidden Star in Four Seasons\thcrap\..\th16.exe"
――――――――――――――――――――――――――――――――――――――――――――――――――

Run configuration file: D:\Games\Touhou\Official\Touhou 16 - Hidden Star in Four Seasons\thcrap\config\thpatch-en.js

EXE file name: D:\Games\Touhou\Official\Touhou 16 - Hidden Star in Four Seasons\thcrap\..\th16.exe
(JSON) Resolving versions.js... 
 + D:/Games/Touhou/Official/Touhou 16 - Hidden Star in Four Seasons/thcrap/repos/nmlgc/base_tsa/versions.js
  + D:/Games/Touhou/Official/Touhou 16 - Hidden Star in Four Seasons/thcrap/repos/nmlgc/base_tasofro/versions.js
Hashing executable... → th16 v1.00a (original) (codepage 0)
(JSON) Resolving configuration for th16.js... 
 + D:/Games/Touhou/Official/Touhou 16 - Hidden Star in Four Seasons/thcrap/repos/nmlgc/base_tsa/global.js
 + D:/Games/Touhou/Official/Touhou 16 - Hidden Star in Four Seasons/thcrap/repos/nmlgc/base_tsa/th16.js
 + D:/Games/Touhou/Official/Touhou 16 - Hidden Star in Four Seasons/thcrap/repos/nmlgc/base_tsa/th16.v1.00a.js
  + D:/Games/Touhou/Official/Touhou 16 - Hidden Star in Four Seasons/thcrap/repos/nmlgc/base_tasofro/global.js
   + D:/Games/Touhou/Official/Touhou 16 - Hidden Star in Four Seasons/thcrap/repos/nmlgc/script_latin/global.js
   + D:/Games/Touhou/Official/Touhou 16 - Hidden Star in Four Seasons/thcrap/repos/nmlgc/script_latin/th16.v1.00a.js
Game directory: D:\Games\Touhou\Official\Touhou 16 - Hidden Star in Four Seasons
Plug-in directory: D:\Games\Touhou\Official\Touhou 16 - Hidden Star in Four Seasons\thcrap

Initializing plug-ins...
(JSON) Resolving stringdefs.js... 
 + D:/Games/Touhou/Official/Touhou 16 - Hidden Star in Four Seasons/thcrap/repos/nmlgc/base_tsa/stringdefs.js
   + D:/Games/Touhou/Official/Touhou 16 - Hidden Star in Four Seasons/thcrap/repos/nmlgc/script_latin/stringdefs.js
     + D:/Games/Touhou/Official/Touhou 16 - Hidden Star in Four Seasons/thcrap/repos/thpatch/lang_en/stringdefs.js
(JSON) Resolving th16/stringlocs.js... 
 + D:/Games/Touhou/Official/Touhou 16 - Hidden Star in Four Seasons/thcrap/repos/nmlgc/base_tsa/th16/stringlocs.v1.00a.js
(Font) Loading Aroania.ttf (426296 bytes)...
(Font) Loading Cirno.ttf (28952 bytes)...
(Font) Loading THBiolinum.otf (557212 bytes)...
[Plugin] thcrap_tasofro.dll: not used for this game
[Plugin] thcrap_tsa.dll: initialized and active
(JSON) Resolving th16/missions.js... not found
(JSON) Resolving th16/loops.js... not found
(JSON) Resolving themes.js... 
    + D:/Games/Touhou/Official/Touhou 16 - Hidden Star in Four Seasons/thcrap/repos/thpatch/lang_en/themes.js
(JSON) Resolving th16/musiccmt.js... 
    + D:/Games/Touhou/Official/Touhou 16 - Hidden Star in Four Seasons/thcrap/repos/thpatch/lang_en/th16/musiccmt.js
(JSON) Resolving th16/spells.js... 
    + D:/Games/Touhou/Official/Touhou 16 - Hidden Star in Four Seasons/thcrap/repos/thpatch/lang_en/th16/spells.js
(JSON) Resolving th16/spellcomments.js... not found
Applying thcrap detours to D:\Games\Touhou\Official\Touhou 16 - Hidden Star in Four Seasons\thcrap\..\th16.exe...
Detouring DLL functions (dinput8.dll)...
( 1/ 1) DirectInput8Create... OK
Detouring DLL functions (dsound.dll)...
( 1/ 3) DirectSoundCaptureEnumerateA... not found
( 2/ 3) DirectSoundEnumerateA... not found
( 3/ 3) DirectSoundCreate8... OK
Detouring DLL functions (d3d9.dll)...
( 1/ 1) Direct3DCreate9... OK
Detouring DLL functions (winmm.dll)...
( 1/ 1) joyGetPosEx... OK
Detouring DLL functions (kernel32.dll)...
( 1/41) CopyFileA... not found
( 2/41) CopyFileExA... not found
( 3/41) CreateDirectoryA... not found
( 4/41) CreateFileA... OK
( 5/41) CreateFileMappingA... not found
( 6/41) CreateProcessA... not found
( 7/41) DeleteFileA... OK
( 8/41) FindFirstFileA... OK
( 9/41) FindNextFileA... OK
(10/41) FormatMessageA... OK
(11/41) GetCurrentDirectoryA... OK
(12/41) GetEnvironmentVariableA... OK
(13/41) GetFileAttributesA... not found
(14/41) GetFileAttributesExA... not found
(15/41) GetFullPathNameA... not found
(16/41) GetCommandLineA... OK
(17/41) GetModuleFileNameA... OK
(18/41) GetPrivateProfileIntA... not found
(19/41) GetPrivateProfileStringA... not found
(20/41) GetStartupInfoA... OK
(21/41) GetTempPathA... not found
(22/41) IsDBCSLeadByte... not found
(23/41) LoadLibraryA... OK
(24/41) MoveFileA... not found
(25/41) MoveFileExA... not found
(26/41) MoveFileWithProgressA... not found
(27/41) MultiByteToWideChar... OK
(28/41) OpenFileMappingA... not found
(29/41) ReadFile... OK
(30/41) RemoveDirectoryA... not found
(31/41) SetCurrentDirectoryA... OK
(32/41) SetEnvironmentVariableA... OK
(33/41) WideCharToMultiByte... OK
(34/41) WriteFile... OK
(35/41) WritePrivateProfileStringA... not found
(36/41) ExitProcess... OK
(37/41) CreateProcessW... not found
(38/41) CreateRemoteThread... not found
(39/41) LoadLibraryW... not found
(40/41) CloseHandle... OK
(41/41) SetFilePointer... OK
Detouring DLL functions (user32.dll)...
( 1/22) CharNextA... not found
( 2/22) CreateDialogParamA... OK
( 3/22) CreateWindowExA... OK
( 4/22) DefWindowProcA... OK
( 5/22) DialogBoxParamA... not found
( 6/22) DrawTextA... not found
( 7/22) GetClassInfoA... not found
( 8/22) GetClassInfoExA... not found
( 9/22) GetWindowLongA... not found
(10/22) GetWindowLongPtrA... not found
(11/22) InsertMenuItemA... not found
(12/22) LoadStringA... not found
(13/22) MessageBoxA... OK
(14/22) RegisterClassA... OK
(15/22) RegisterClassExA... not found
(16/22) SetDlgItemTextA... not found
(17/22) SetWindowLongA... OK
(18/22) SetWindowLongPtrA... not found
(19/22) SetWindowTextA... not found
(20/22) TabbedTextOutA... not found
(21/22) UnregisterClassA... not found
(22/22) GetWindowRect... OK
Detouring DLL functions (gdi32.dll)...
( 1/14) CreateFontA... OK
( 2/14) CreateFontIndirectA... not found
( 3/14) CreateFontIndirectExA... not found
( 4/14) EnumFontsA... not found
( 5/14) EnumFontFamiliesA... not found
( 6/14) EnumFontFamiliesExA... OK
( 7/14) ExtTextOutA... not found
( 8/14) GetGlyphOutlineA... not found
( 9/14) GetTextExtentPoint32A... not found
(10/14) TextOutA... OK
(11/14) CreateCompatibleDC... OK
(12/14) DeleteDC... OK
(13/14) DeleteObject... OK
(14/14) SelectObject... OK
Initialization stage 0...
-------------------------
Applying binary hacks...
------------------------
( 1/ 1) 0x004E3B73 Crack SteamStub by disabling its integrity check (steamstub_crack)... expected bytes not matched, skipping...
------------------------
Failed. Jumping to last stage...
-------------------------
Initialization stage 2...
-------------------------
Applying binary hacks...
------------------------
( 1/32) 0x0046DD11 Remove spell "alignment" in the result screen (result_spell_align)... OK
( 2/32) 0x0046DB40 Correctly align right-aligned text (TH16+) (spell_align)... OK
( 3/32) 0x0040827F Safe Visual Studio 2015-style sprintf (ebp-10c) (sprintf_msvcrt14_ebp-10c)... OK
( 4/32) 0x0046D9C9 Safe Visual Studio 2015-style sprintf (esp+34) (sprintf_msvcrt14_esp+34)... OK
( 5/32) 0x0046DAE9 Safe Visual Studio 2015-style sprintf (esp+34) (sprintf_msvcrt14_esp+34)... OK
( 6/32) 0x0046DC59 Safe Visual Studio 2015-style sprintf (esp+3c) (sprintf_msvcrt14_esp+3c)... OK
( 7/32) 0x0040828D Safe sprintf (replace) (sprintf_rep)... OK
( 8/32) 0x0046DA66 Safe sprintf (replace) (sprintf_rep)... OK
( 9/32) 0x0046DA77 Safe sprintf (replace) (sprintf_rep)... OK
(10/32) 0x0046DB34 Safe sprintf (replace) (sprintf_rep)... OK
(11/32) 0x0046DBD7 Safe sprintf (replace) (sprintf_rep)... OK
(12/32) 0x0046DBE7 Safe sprintf (replace) (sprintf_rep)... OK
(13/32) 0x0046DD2D Safe sprintf (replace) (sprintf_rep)... OK
(14/32) 0x004403EC Safe sprintf (replace) (sprintf_rep)... OK
(15/32) 0x004403F9 Safe sprintf (replace) (sprintf_rep)... OK
(16/32) 0x00451603 Safe sprintf (replace) (sprintf_rep)... OK
(17/32) 0x00453C98 Safe sprintf (replace) (sprintf_rep)... OK
(18/32) 0x00453CCD Safe sprintf (replace) (sprintf_rep)... OK
(19/32) 0x00453CEA Safe sprintf (replace) (sprintf_rep)... OK
(20/32) 0x0045402F Safe sprintf (replace) (sprintf_rep)... OK
(21/32) 0x0045403C Safe sprintf (replace) (sprintf_rep)... OK
(22/32) 0x004401AB sprintf_replay_use_ecx_2...OK
(23/32) 0x00454AEF music_title_prepare...OK
(24/32) 0x0042A5D0 Correct text length calculation for the TH15 variety of Fairy Wars-style text boxes (th15_textbox_size)... OK
(25/32) 0x0042A7C6 Correct text length calculation for the TH15 variety of Fairy Wars-style text boxes (th15_textbox_size)... OK
(26/32) 0x00421596 Fix Spell Practice bugs for Stage 5, #1: Jump to code cave (fix_satono_1)... OK
(27/32) 0x0048AF00 Fix Spell Practice bugs for Stage 5, #2: Call BossDeadB() if the second character is killed (fix_satono_2)... OK
(28/32) 0x004403C1 sprintf_replay_reuse_1...OK
(29/32) 0x00453C86 sprintf_replay_reuse_1...OK
(30/32) 0x00454004 sprintf_replay_reuse_1...OK
(31/32) 0x004515A5 sprintf_replay_reuse_2...OK
(32/32) 0x00458E22 Disable the enumeration of Meiryo for compatibility to existing font settings (meiryo_disable)... OK
------------------------
Setting up breakpoints... (source cave at 0x03650000, call cave at 0x03660000)
-------------------------
( 1/16) 0x0042A53A ruby_offset... OK
( 2/16) 0x0042A736 ruby_offset... OK
( 3/16) 0x00402504 file_load... fixing rel.addr. 0x00054C17 to 0xFCE070DB... OK
( 4/16) 0x0045724B file_loaded... OK
( 5/16) 0x004024CC file_size... OK
( 6/16) 0x00454D59 music_cmt... OK
( 7/16) 0x00454E22 music_cmt... OK
( 8/16) 0x00454D46 music_cmt#line... OK
( 9/16) 0x00454E0F music_cmt#line... OK
(10/16) 0x00454AF3 music_title... OK
(11/16) 0x004217C9 spell_id... OK
(12/16) 0x00417F4A spell_id#real... OK
(13/16) 0x00452D8D spell_id#result... OK
(14/16) 0x004180D6 spell_name... OK
(15/16) 0x00456622 spell_name#practice... OK
(16/16) 0x00452ED5 spell_name#result... OK
-------------------------
---------------------------
Complete run configuration:
---------------------------
  console: false
  thcrap dir: 'D:\Games\Touhou\Official\Touhou 16 - Hidden Star in Four Seasons\thcrap'
  runcfg fn: 'D:\Games\Touhou\Official\Touhou 16 - Hidden Star in Four Seasons\thcrap\config\thpatch-en.js'
  game id: 'th16'
  build id: 'v1.00a'
  game title: '東方天空璋　～ Hidden Star in Four Seasons'
  update URL: ''
  latest: 'v0.01a' 'v1.00a'
  dat_dump: ''
---------------------------
Patch stack:
---------------------------
Patches in the stack: base_tsa, script_latin, western_name_order, lang_en
[1] base_tsa:
  archive: D:/Games/Touhou/Official/Touhou 16 - Hidden Star in Four Seasons/thcrap/repos/nmlgc/base_tsa/
  title: Basic support for Team Shanghai Alice games
  ignore: false
  update: true
  servers: 'https://mirrors.thpatch.net/nmlgc/base_tsa/'
[2] script_latin:
  archive: D:/Games/Touhou/Official/Touhou 16 - Hidden Star in Four Seasons/thcrap/repos/nmlgc/script_latin/
  title: Shared data for languages using Latin script
  ignore: false
  update: true
  servers: 'https://mirrors.thpatch.net/nmlgc/script_latin/'
[3] western_name_order:
  archive: D:/Games/Touhou/Official/Touhou 16 - Hidden Star in Four Seasons/thcrap/repos/nmlgc/western_name_order/
  title: Western name order
  ignore: false
  update: true
  servers: 'https://mirrors.thpatch.net/nmlgc/western_name_order/'
[4] lang_en:
  archive: D:/Games/Touhou/Official/Touhou 16 - Hidden Star in Four Seasons/thcrap/repos/thpatch/lang_en/
  title: English language pack
  ignore: false
  update: true
  servers: 'https://srv.thpatch.net/lang_en/'

---------------------------
Run configuration JSON:
---------------------------
{
  "binhacks": {
    "antitamper_remove_check": {
      "code": "33c0 c3",
      "title": "Don't quit the game on an invalid anti-tampering checksum"
    },
    "ending_copy_rem": {
      "title": "Remove the useless string copy and buffer overflow in ending messages, #1 (remember line start and skip to the end of the string)"
    },
    "ending_copy_rep": {
      "code": "8b",
      "title": "Remove the useless string copy and buffer overflow in ending messages, #2 (LEA → MOV)"
    },
    "hud_force_redraw": {
      "code": "eb",
      "title": "Redraw the HUD every frame, because we might be drawing TL notes there"
    },
    "log_restore": {
      "code": "e9[log_printf]",
      "title": "Restore the game's built-in logging"
    },
    "meiryo_strcmp_remove": {
      "code": "9090",
      "title": "Don't restrict use of the Meiryo font to Japanese locale"
    },
    "menu_desc_align": {
      "code": "52 ff75ac ff75b0 e8[GetTextExtentForFontID] 8d440010 50 db04e4 58 59 89ca 90909090",
      "title": "Menu description alignment"
    },
    "result_spell_align": {
      "code": "31c0",
      "title": "Remove spell \"alignment\" in the result screen",
      "addr": "Rx6dd11"
    },
    "spell_align": {
      "code": "ff7518 56 e8[GetTextExtentForFontID] 83c008 d1e0 89c6 8b442410 8b4c240c 8b542414 8b4c8808 8bc1 c1f808 8b9482f0f48401 0fb6c1 8d0c40 8b8224010000 8b0cc8 8b451c 8d1400 89f0 8b742410 909090",
      "title": "Correctly align right-aligned text (TH16+)",
      "addr": "Rx6db40"
    },
    "spell_name_fetch": {
      "code": "8b4d0c5131c9515151",
      "title": "Prepare deferred spell name fetching"
    },
    "sprintf_call_ebp-200": {
      "code": "5090909090909090909090e8[strings_vsprintf]8b4d0c83c40c509090",
      "title": "Safe sprintf (ebp-200)"
    },
    "sprintf_call_ebp-208": {
      "code": "5190909090909090909090e8[strings_vsprintf]83c40c509090",
      "title": "Safe sprintf (ebp-208)"
    },
    "sprintf_call_ebp-50": {
      "code": "50e8[strings_vsprintf]8945b0",
      "title": "Safe sprintf (ebp-50)"
    },
    "sprintf_call_ebp-88": {
      "code": "50e8[strings_vsprintf]898578ffffff",
      "title": "Safe sprintf (ebp-88)"
    },
    "sprintf_call_ebp-8c": {
      "code": "50e8[strings_vsprintf]898574ffffff",
      "title": "Safe sprintf (ebp-8c)"
    },
    "sprintf_call_esp+14": {
      "code": "50e8[strings_vsprintf]8944e414",
      "title": "Safe sprintf (esp+14)"
    },
    "sprintf_call_esp+18": {
      "code": "50e8[strings_vsprintf]8944e418",
      "title": "Safe sprintf (esp+18)"
    },
    "sprintf_call_esp+1c": {
      "code": "50e8[strings_vsprintf]8944e41c",
      "title": "Safe sprintf (esp+1c)"
    },
    "sprintf_call_esp+34": {
      "code": "50e8[strings_vsprintf]8944e434",
      "title": "Safe sprintf (esp+34)"
    },
    "sprintf_call_esp+38": {
      "code": "e8[strings_vsprintf]89442434",
      "title": "Safe sprintf (esp+34)"
    },
    "sprintf_call_esp+3c": {
      "code": "50e8[strings_vsprintf]8944e43c",
      "title": "Safe sprintf (esp+3c)"
    },
    "sprintf_msvcrt14_ebp-10c": {
      "code": "e8[strings_vsprintf_msvcrt14]8985f4feffff",
      "title": "Safe Visual Studio 2015-style sprintf (ebp-10c)",
      "addr": "Rx0827f"
    },
    "sprintf_msvcrt14_esp+34": {
      "code": "e8[strings_vsprintf_msvcrt14]89442434",
      "title": "Safe Visual Studio 2015-style sprintf (esp+34)",
      "addr": [
        "Rx6d9c9",
        "Rx6dae9"
      ]
    },
    "sprintf_msvcrt14_esp+3c": {
      "code": "e8[strings_vsprintf_msvcrt14]8944243c",
      "title": "Safe Visual Studio 2015-style sprintf (esp+3c)",
      "addr": "Rx6dc59"
    },
    "sprintf_rep": {
      "code": "8b",
      "title": "Safe sprintf (replace)",
      "addr": [
        "Rx0828d",
        "Rx6da66",
        "Rx6da77",
        "Rx6db34",
        "Rx6dbd7",
        "Rx6dbe7",
        "Rx6dd2d",
        "Rx403ec",
        "Rx403f9",
        "Rx51603",
        "Rx53c98",
        "Rx53ccd",
        "Rx53cea",
        "Rx5402f",
        "Rx5403c"
      ]
    },
    "sprintf_replay_use_ecx_2": {
      "code": "e8[strings_sprintf] 83c4 0c 89c1 9090",
      "addr": "Rx401ab"
    },
    "sprintf_replay_use_ecx_5": {
      "code": "e8[strings_sprintf] 83c4 0c 89c1 9090909090"
    },
    "music_title_prepare": {
      "code": "8b542418 52 31c0 50 50 50 a1 480f4c00",
      "addr": "Rx54aef"
    },
    "th15_textbox_size": {
      "code": "51 e8[GetTextExtent] 83e81c 7302 31c0 f30f1097b4010000 f30f108fb0010000 8b8f90010000 c1e902 909090909090909090",
      "title": "Correct text length calculation for the TH15 variety of Fairy Wars-style text boxes",
      "addr": [
        "Rx2a5d0",
        "Rx2a7c6"
      ]
    },
    "fix_satono_1": {
      "addr": "Rx21596",
      "code": "e9 65990600",
      "title": "Fix Spell Practice bugs for Stage 5, #1: Jump to code cave"
    },
    "fix_satono_2": {
      "addr": "Rx8af00",
      "code": "83bf7040000000 7507 6870214900 eb05 681aaf4800 e98166f9ff 426f7373446561644200",
      "title": "Fix Spell Practice bugs for Stage 5, #2: Call BossDeadB() if the second character is killed"
    },
    "sprintf_replay_reuse_1": {
      "addr": [
        "Rx403c1",
        "Rx53c86",
        "Rx54004"
      ],
      "code": "68 ac2a4900 54 e8[strings_sprintf] 894424 1c"
    },
    "sprintf_replay_reuse_2": {
      "addr": "Rx515a5",
      "code": "68 ac2a4900 54 e8[strings_sprintf] 8945 b0"
    },
    "ret": {
      "code": "c3",
      "title": "Returns from a function"
    },
    "font_dialog_params": {
      "code": "6a036a006a0068000000006a006a006a006890010000",
      "title": "Set parameters for alternate dialog font"
    },
    "font_dialog_set": {
      "code": "6a019090",
      "title": "Use alternate dialog font"
    },
    "meiryo_disable": {
      "code": "83c414 909090",
      "title": "Disable the enumeration of Meiryo for compatibility to existing font settings",
      "addr": "Rx58e22"
    }
  },
  "breakpoints": {
    "ascii_params": {
      "cavesize": 5
    },
    "ruby_offset": {
      "font_dialog": 0,
      "font_ruby": 2,
      "cavesize": 7,
      "offset": "eax",
      "str": "esi",
      "addr": [
        "Rx2a53a",
        "Rx2a736"
      ]
    },
    "file_load": {
      "cavesize": "5",
      "file_buffer": "eax",
      "stack_clear_size": "8",
      "addr": "Rx02504"
    },
    "file_loaded": {
      "cavesize": "5",
      "addr": "Rx5724b"
    },
    "file_size": {
      "cavesize": "5",
      "file_name": "ebx",
      "file_size": "eax",
      "addr": "Rx024cc"
    },
    "music_cmt": {
      "cavesize": "5",
      "format_id": "Music Room Note Title",
      "str": "eax",
      "track": "edx",
      "addr": [
        "Rx54d59",
        "Rx54e22"
      ]
    },
    "music_cmt#line": {
      "cavesize": "5",
      "line_num": "eax",
      "addr": [
        "Rx54d46",
        "Rx54e0f"
      ]
    },
    "music_title": {
      "cavesize": "5",
      "format_id": "Music Room Numbered Title",
      "str": "edx",
      "track": "eax",
      "addr": "Rx54af3"
    },
    "spell_id": {
      "cavesize": 6,
      "spell_id": "eax",
      "addr": "Rx217c9"
    },
    "spell_id#real": {
      "cavesize": "9",
      "spell_id_real": "ebx",
      "addr": "Rx17f4a"
    },
    "spell_id#result": {
      "cavesize": "6",
      "spell_id_real": "esi",
      "spell_rank": "eax",
      "addr": "Rx52d8d"
    },
    "spell_name": {
      "cavesize": "5",
      "spell_name": "esi",
      "addr": "Rx180d6"
    },
    "spell_name#practice": {
      "cavesize": 9,
      "spell_id_real": "edi",
      "spell_name": "eax",
      "spell_rank": "ebx",
      "addr": "Rx56622"
    },
    "spell_name#result": {
      "cavesize": "7",
      "spell_name": "eax",
      "addr": "Rx52ed5"
    }
  },
  "thcrap_url": "http://thpatch.net/wiki/Project:Download",
  "thcrap_version_min": "0x20170905",
  "tlnotes": {
    "font": "'MS Gothic' 32 0 400 DEFAULT_QUALITY",
    "reference_resolution": [
      1280,
      960
    ],
    "valign": "bottom",
    "region_size": [
      400,
      428
    ],
    "region_topleft": [
      856,
      504
    ]
  },
  "formats": {
    "anm": "anm11",
    "end": "end10",
    "msg": "msg11"
  },
  "latest": [
    "v0.01a",
    "v1.00a"
  ],
  "title": "東方天空璋　～ Hidden Star in Four Seasons",
  "tsa_font_block": {
    "max": 8,
    "min": 0,
    "offset": 4,
    "addr": "Rxdf90c"
  },
  "url_trial": "https://store.steampowered.com/app/745880/__Hidden_Star_in_Four_Seasons/",
  "init_stages": [
    {
      "binhacks": {
        "steamstub_crack": {
          "addr": "Rxe3b73",
          "code": "eb",
          "expected": "74",
          "title": "Crack SteamStub by disabling its integrity check"
        }
      },
      "breakpoints": {
        "init_next_stage#1": {
          "addr": "Rxe40b7",
          "cavesize": 6,
          "module": "ebx"
        },
        "init_next_stage#game": {
          "addr": "Rxe3333",
          "cavesize": 5
        }
      }
    },
    {
      "The addresses here are relative to": "SteamDRMP.dll",
      "binhacks": {
        "steamdrm_crack": {
          "addr": "Rx66d0",
          "code": "90909090909090909090 b030 884513 e9",
          "title": "Crack SteamDRM: Remove all communication with the Steam client"
        }
      }
    }
  ],
  "font": "Touhou Biolinum",
  "fontrules": {
    "* 15 * 700": "* 21 * 100 NONANTIALIASED_QUALITY"
  },
  "game": "th16",
  "console": false,
  "dat_dump": false,
  "patches": [
    {
      "archive": "repos/nmlgc/base_tsa/"
    },
    {
      "archive": "repos/nmlgc/base_tasofro/"
    },
    {
      "archive": "repos/nmlgc/script_latin/"
    },
    {
      "archive": "repos/nmlgc/western_name_order/"
    },
    {
      "archive": "repos/thpatch/lang_en/"
    }
  ]
}---------------------------
[Steam] Initialization for AppID 745880 failed
(Data) Resolving th16/th16_0100a.ver... not found
(Data) Resolving th16/se_plst00.wav... not found
(Data) Resolving th16/se_enep00.wav... not found
(Data) Resolving th16/se_pldead00.wav... not found
(Data) Resolving th16/se_power0.wav... not found
(Data) Resolving th16/se_power1.wav... not found
CreateCompatibleDC(0x00000000) -> 0x1B010626
(Font) Creating ('Touhou Biolinum' 24 0 400 PROOF_QUALITY)...
(Font) Creating ('Touhou Biolinum' 28 0 400 PROOF_QUALITY)...
(Font) Creating ('Touhou Biolinum' 32 0 400 PROOF_QUALITY)...
(Font) Creating ('Touhou Biolinum' 40 0 400 PROOF_QUALITY)...
(Font) Creating ('Touhou Biolinum' 32 0 600 PROOF_QUALITY)...
(Font) Creating ('Touhou Biolinum' 40 0 600 PROOF_QUALITY)...
(Font) Replacement rules applied to ('Touhou Biolinum' 15 0 700 PROOF_QUALITY):
(Font) • (* 15 * 700) → (* 21 * 100 NONANTIALIASED_QUALITY) (priority)
(Font) Creating ('Touhou Biolinum' 21 0 100 NONANTIALIASED_QUALITY)...
(Font) Replacement rules applied to ('Touhou Biolinum' 15 0 700 PROOF_QUALITY):
(Font) • (* 15 * 700) → (* 21 * 100 NONANTIALIASED_QUALITY) (priority)
(Font) Creating ('Touhou Biolinum' 21 0 100 NONANTIALIASED_QUALITY)...
(Font) Replacement rules applied to ('Touhou Biolinum' 15 0 700 PROOF_QUALITY):
(Font) • (* 15 * 700) → (* 21 * 100 NONANTIALIASED_QUALITY) (priority)
(Font) Creating ('Touhou Biolinum' 21 0 100 NONANTIALIASED_QUALITY)...
(Font) Replacement rules applied to ('Touhou Biolinum' 15 0 700 PROOF_QUALITY):
(Font) • (* 15 * 700) → (* 21 * 100 NONANTIALIASED_QUALITY) (priority)
(Font) Creating ('Touhou Biolinum' 21 0 100 NONANTIALIASED_QUALITY)...
(Data) Resolving th16/se_tan00.wav... not found
(Data) Resolving th16/se_tan01.wav... not found
(Data) Resolving th16/se_tan02.wav... not found
(Data) Resolving th16/se_ok00.wav... not found
(Data) Resolving th16/se_cancel00.wav... not found
(Data) Resolving th16/se_select00.wav... not found
(Data) Resolving th16/se_gun00.wav... not found
(Data) Resolving th16/se_cat00.wav... not found
(Data) Resolving th16/se_lazer00.wav... not found
(Data) Resolving th16/se_lazer01.wav... not found
(Data) Resolving th16/se_enep01.wav... not found
(Data) Resolving th16/se_damage00.wav... not found
(Data) Resolving th16/se_item00.wav... not found
(Data) Resolving th16/se_kira00.wav... not found
(Data) Resolving th16/se_kira01.wav... not found
(Data) Resolving th16/se_kira02.wav... not found
(Data) Resolving th16/se_timeout.wav... not found
(Data) Resolving th16/se_graze.wav... not found
(Data) Resolving th16/se_powerup.wav... not found
(Data) Resolving th16/se_pause.wav... not found
(Data) Resolving th16/se_cardget.wav... not found
(Data) Resolving th16/se_damage01.wav... not found
(Data) Resolving th16/se_timeout2.wav... not found
(Data) Resolving th16/se_invalid.wav... not found
(Data) Resolving th16/se_slash.wav... not found
(Data) Resolving th16/se_ch00.wav... not found
(Data) Resolving th16/se_ch01.wav... not found
(Data) Resolving th16/se_extend.wav... not found
(Data) Resolving th16/se_cardget.wav... not found
(Data) Resolving th16/se_nep00.wav... not found
(Data) Resolving th16/se_bonus.wav... not found
(Data) Resolving th16/se_bonus2.wav... not found
(Data) Resolving th16/se_enep02.wav... not found
(Data) Resolving th16/se_lazer02.wav... not found
(Data) Resolving th16/se_nodamage.wav... not found
(Data) Resolving th16/se_boon00.wav... not found
(Data) Resolving th16/se_don00.wav... not found
(Data) Resolving th16/se_boon01.wav... not found
(Data) Resolving th16/se_ch02.wav... not found
(Data) Resolving th16/se_ch03.wav... not found
(Data) Resolving th16/se_extend2.wav... not found
(Data) Resolving th16/se_pin00.wav... not found
(Data) Resolving th16/se_pin01.wav... not found
(Data) Resolving th16/se_lgods1.wav... not found
(Data) Resolving th16/se_lgods2.wav... not found
(Data) Resolving th16/se_lgods3.wav... not found
(Data) Resolving th16/se_lgods4.wav... not found
(Data) Resolving th16/se_lgodsget.wav... not found
(Data) Resolving th16/se_msl.wav... not found
(Data) Resolving th16/se_msl2.wav... not found
(Data) Resolving th16/se_pldead01.wav... not found
(Data) Resolving th16/se_heal.wav... not found
(Data) Resolving th16/se_msl3.wav... not found
(Data) Resolving th16/se_fault.wav... not found
(Data) Resolving th16/se_noise.wav... not found
(Data) Resolving th16/se_etbreak.wav... not found
(Data) Resolving th16/se_tan03.wav... not found
(Data) Resolving th16/se_wolf.wav... not found
(Data) Resolving th16/se_bonus4.wav... not found
(Data) Resolving th16/se_big.wav... not found
(Data) Resolving th16/se_item01.wav... not found
(Data) Resolving th16/se_release.wav... not found
(Data) Resolving th16/sig.anm... not found
(JSON) Resolving th16/sig.anm.jdiff... not found
---- ANM ----
(PNG) Resolving th16/loading/sig1280.png... 
    + D:/Games/Touhou/Official/Touhou 16 - Hidden Star in Four Seasons/thcrap/repos/thpatch/lang_en/th16/loading/sig1280.png
(PNG) Resolving th16/loading/sig1280.png... 
    + D:/Games/Touhou/Official/Touhou 16 - Hidden Star in Four Seasons/thcrap/repos/thpatch/lang_en/th16/loading/sig1280.png
-------------
(Data) Resolving th16/ascii_1280.anm... not found
(JSON) Resolving th16/ascii_1280.anm.jdiff... not found
---- ANM ----
(PNG) Resolving th16/ascii/ascii_1280.png... 
  + D:/Games/Touhou/Official/Touhou 16 - Hidden Star in Four Seasons/thcrap/repos/nmlgc/script_latin/th16/ascii/ascii_1280.png
(PNG) Resolving th16/ascii/loading.png... 
    + D:/Games/Touhou/Official/Touhou 16 - Hidden Star in Four Seasons/thcrap/repos/thpatch/lang_en/th16/ascii/loading.png
-------------
(Data) Resolving th16/text.anm... not found
(JSON) Resolving th16/text.anm.jdiff... not found
---- ANM ----
-------------
(Data) Resolving th16/thbgm.fmt... not found
(JSON) Resolving th16/thbgm.fmt.jdiff... not found
(BGM) Resolving th16_01.{flac > ogg > mp3}... not found
(BGM) Resolving th16_02.{flac > ogg > mp3}... not found
(BGM) Resolving th16_03.{flac > ogg > mp3}... not found
(BGM) Resolving th16_04.{flac > ogg > mp3}... not found
(BGM) Resolving th16_05.{flac > ogg > mp3}... not found
(BGM) Resolving th16_06.{flac > ogg > mp3}... not found
(BGM) Resolving th16_07.{flac > ogg > mp3}... not found
(BGM) Resolving th16_08.{flac > ogg > mp3}... not found
(BGM) Resolving th16_09.{flac > ogg > mp3}... not found
(BGM) Resolving th16_10.{flac > ogg > mp3}... not found
(BGM) Resolving th16_11.{flac > ogg > mp3}... not found
(BGM) Resolving th16_13.{flac > ogg > mp3}... not found
(BGM) Resolving th16_12.{flac > ogg > mp3}... not found
(BGM) Resolving th16_14.{flac > ogg > mp3}... not found
(BGM) Resolving th16_15.{flac > ogg > mp3}... not found
(BGM) Resolving th16_16.{flac > ogg > mp3}... not found
(BGM) Resolving th16_17.{flac > ogg > mp3}... not found
(BGM) Resolving th128_08.{flac > ogg > mp3}... not found
(Data) Resolving th16/front.anm... not found
(JSON) Resolving th16/front.anm.jdiff... not found
---- ANM ----
(PNG) Resolving th16/front/front00.png... 
    + D:/Games/Touhou/Official/Touhou 16 - Hidden Star in Four Seasons/thcrap/repos/thpatch/lang_en/th16/front/front00.png
(PNG) Resolving th16/title/demoplay.png... 
    + D:/Games/Touhou/Official/Touhou 16 - Hidden Star in Four Seasons/thcrap/repos/thpatch/lang_en/th16/title/demoplay.png
(PNG) Resolving th16/front/front01.png... not found
(PNG) Resolving th16/ascii/pause.png... 
    + D:/Games/Touhou/Official/Touhou 16 - Hidden Star in Four Seasons/thcrap/repos/thpatch/lang_en/th16/ascii/pause.png
(PNG) Resolving th16/ascii/pause_title.png... 
    + D:/Games/Touhou/Official/Touhou 16 - Hidden Star in Four Seasons/thcrap/repos/thpatch/lang_en/th16/ascii/pause_title.png
(PNG) Resolving th16/ascii/pause_back.png... not found
(PNG) Resolving th16/front/ename.png... 
   + D:/Games/Touhou/Official/Touhou 16 - Hidden Star in Four Seasons/thcrap/repos/nmlgc/western_name_order/th16/front/ename.png
(PNG) Resolving th16/face/balloon_1024.png... not found
(PNG) Resolving th16/face/balloon_1024.png... not found
(PNG) Resolving th16/front/lifebar.png... not found
-------------
(Data) Resolving th16/effect.anm... not found
(JSON) Resolving th16/effect.anm.jdiff... not found
---- ANM ----
(PNG) Resolving th16/effect/eff_switch.png... not found
(PNG) Resolving th16/effect/eff_line.png... not found
(PNG) Resolving th16/effect/eff_base.png... not found
(PNG) Resolving th16/effect/eff_sloweffect.png... not found
(PNG) Resolving th16/effect/eff_deadcircle.png... not found
(PNG) Resolving th16/effect/eff_maple.png... not found
(PNG) Resolving th16/effect/eff_magicsquare.png... not found
(PNG) Resolving th16/effect/eff_aura.png... not found
(PNG) Resolving th16/effect/efflinegoast.png... not found
(PNG) Resolving th16/effect/eff_breakwave2.png... not found
(PNG) Resolving th16/effect/eff_splash.png... not found
(PNG) Resolving th16/effect/eff_charge.png... not found
(PNG) Resolving th16/effect/eff_switchbg.png... not found
-------------
(Data) Resolving th16/bullet.anm... not found
(JSON) Resolving th16/bullet.anm.jdiff... not found
---- ANM ----
(PNG) Resolving th16/bullet/bullet1.png... not found
(PNG) Resolving th16/bullet/bullet2.png... not found
(PNG) Resolving th16/bullet/bullet3.png... not found
(PNG) Resolving th16/bullet/item.png... not found
(PNG) Resolving th16/bullet/laser1.png... not found
(PNG) Resolving th16/effect/etbreak.png... not found
(PNG) Resolving th16/bullet/bullet4.png... not found
(PNG) Resolving th16/bullet/bullet5.png... not found
(PNG) Resolving th16/bullet/laser2.png... not found
-------------
(Data) Resolving th16/title.anm... not found
(JSON) Resolving th16/title.anm.jdiff... not found
---- ANM ----
(PNG) Resolving th16/title/title_item00.png... 
    + D:/Games/Touhou/Official/Touhou 16 - Hidden Star in Four Seasons/thcrap/repos/thpatch/lang_en/th16/title/title_item00.png
(PNG) Resolving th16/title/title_bk00.png... not found
(PNG) Resolving th16/title/title_bk00.png... not found
(PNG) Resolving th16/title/title_ch00.png... not found
(PNG) Resolving th16/title/title_logo.png... 
    + D:/Games/Touhou/Official/Touhou 16 - Hidden Star in Four Seasons/thcrap/repos/thpatch/lang_en/th16/title/title_logo.png
(PNG) Resolving th16/title/title_copy.png... 
    + D:/Games/Touhou/Official/Touhou 16 - Hidden Star in Four Seasons/thcrap/repos/thpatch/lang_en/th16/title/title_copy.png
(PNG) Resolving th16/title/selecttitle/sl_rank.png... 
    + D:/Games/Touhou/Official/Touhou 16 - Hidden Star in Four Seasons/thcrap/repos/thpatch/lang_en/th16/title/selecttitle/sl_rank.png
(PNG) Resolving th16/title/selecttitle/sl_player.png... 
    + D:/Games/Touhou/Official/Touhou 16 - Hidden Star in Four Seasons/thcrap/repos/thpatch/lang_en/th16/title/selecttitle/sl_player.png
(PNG) Resolving th16/title/selecttitle/sl_weapon.png... 
    + D:/Games/Touhou/Official/Touhou 16 - Hidden Star in Four Seasons/thcrap/repos/thpatch/lang_en/th16/title/selecttitle/sl_weapon.png
(PNG) Resolving th16/title/selecttitle/sl_stage.png... 
    + D:/Games/Touhou/Official/Touhou 16 - Hidden Star in Four Seasons/thcrap/repos/thpatch/lang_en/th16/title/selecttitle/sl_stage.png
(PNG) Resolving th16/title/selecttitle/sl_spell.png... 
    + D:/Games/Touhou/Official/Touhou 16 - Hidden Star in Four Seasons/thcrap/repos/thpatch/lang_en/th16/title/selecttitle/sl_spell.png
(PNG) Resolving th16/title/selecttitle/sl_replay.png... 
    + D:/Games/Touhou/Official/Touhou 16 - Hidden Star in Four Seasons/thcrap/repos/thpatch/lang_en/th16/title/selecttitle/sl_replay.png
(PNG) Resolving th16/title/selecttitle/sl_playerdata.png... 
    + D:/Games/Touhou/Official/Touhou 16 - Hidden Star in Four Seasons/thcrap/repos/thpatch/lang_en/th16/title/selecttitle/sl_playerdata.png
(PNG) Resolving th16/title/selecttitle/sl_music.png... 
    + D:/Games/Touhou/Official/Touhou 16 - Hidden Star in Four Seasons/thcrap/repos/thpatch/lang_en/th16/title/selecttitle/sl_music.png
(PNG) Resolving th16/title/selecttitle/sl_manual.png... 
    + D:/Games/Touhou/Official/Touhou 16 - Hidden Star in Four Seasons/thcrap/repos/thpatch/lang_en/th16/title/selecttitle/sl_manual.png
(PNG) Resolving th16/title/selecttitle/sl_savereplay.png... 
    + D:/Games/Touhou/Official/Touhou 16 - Hidden Star in Four Seasons/thcrap/repos/thpatch/lang_en/th16/title/selecttitle/sl_savereplay.png
(PNG) Resolving th16/title/selecttitle/sl_regist.png... 
    + D:/Games/Touhou/Official/Touhou 16 - Hidden Star in Four Seasons/thcrap/repos/thpatch/lang_en/th16/title/selecttitle/sl_regist.png
(PNG) Resolving th16/title/selecttitle/sl_mode.png... not found
(PNG) Resolving th16/title/rank00.png... 
    + D:/Games/Touhou/Official/Touhou 16 - Hidden Star in Four Seasons/thcrap/repos/thpatch/lang_en/th16/title/rank00.png
(PNG) Resolving th16/title/title_pl00a.png... not found
(PNG) Resolving th16/title/title_pl00b.png... not found
(PNG) Resolving th16/title/title_pl02a.png... not found
(PNG) Resolving th16/title/title_pl02b.png... not found
(PNG) Resolving th16/title/title_pl03a.png... not found
(PNG) Resolving th16/title/title_pl03b.png... not found
(PNG) Resolving th16/title/title_pl01a.png... not found
(PNG) Resolving th16/title/title_pl01b.png... not found
(PNG) Resolving th16/title/title_pl00c.png... 
    + D:/Games/Touhou/Official/Touhou 16 - Hidden Star in Four Seasons/thcrap/repos/thpatch/lang_en/th16/title/title_pl00c.png
(PNG) Resolving th16/title/title_pl02c.png... 
    + D:/Games/Touhou/Official/Touhou 16 - Hidden Star in Four Seasons/thcrap/repos/thpatch/lang_en/th16/title/title_pl02c.png
(PNG) Resolving th16/title/title_pl03c.png... 
    + D:/Games/Touhou/Official/Touhou 16 - Hidden Star in Four Seasons/thcrap/repos/thpatch/lang_en/th16/title/title_pl03c.png
(PNG) Resolving th16/title/title_pl01c.png... 
    + D:/Games/Touhou/Official/Touhou 16 - Hidden Star in Four Seasons/thcrap/repos/thpatch/lang_en/th16/title/title_pl01c.png
(PNG) Resolving th16/title/weapon00a.png... 
    + D:/Games/Touhou/Official/Touhou 16 - Hidden Star in Four Seasons/thcrap/repos/thpatch/lang_en/th16/title/weapon00a.png
(PNG) Resolving th16/title/weapon00b.png... 
    + D:/Games/Touhou/Official/Touhou 16 - Hidden Star in Four Seasons/thcrap/repos/thpatch/lang_en/th16/title/weapon00b.png
(PNG) Resolving th16/title/weapon02a.png... 
    + D:/Games/Touhou/Official/Touhou 16 - Hidden Star in Four Seasons/thcrap/repos/thpatch/lang_en/th16/title/weapon02a.png
(PNG) Resolving th16/title/weapon02b.png... 
    + D:/Games/Touhou/Official/Touhou 16 - Hidden Star in Four Seasons/thcrap/repos/thpatch/lang_en/th16/title/weapon02b.png
(PNG) Resolving th16/title/weapon03a.png... 
    + D:/Games/Touhou/Official/Touhou 16 - Hidden Star in Four Seasons/thcrap/repos/thpatch/lang_en/th16/title/weapon03a.png
(PNG) Resolving th16/title/weapon03b.png... 
    + D:/Games/Touhou/Official/Touhou 16 - Hidden Star in Four Seasons/thcrap/repos/thpatch/lang_en/th16/title/weapon03b.png
(PNG) Resolving th16/title/weapon01a.png... 
    + D:/Games/Touhou/Official/Touhou 16 - Hidden Star in Four Seasons/thcrap/repos/thpatch/lang_en/th16/title/weapon01a.png
(PNG) Resolving th16/title/weapon01b.png... 
    + D:/Games/Touhou/Official/Touhou 16 - Hidden Star in Four Seasons/thcrap/repos/thpatch/lang_en/th16/title/weapon01b.png
(PNG) Resolving th16/title/weapon_plus.png... not found
(PNG) Resolving th16/title/weapon_arrow.png... not found
(PNG) Resolving th16/title/result00.png... 
    + D:/Games/Touhou/Official/Touhou 16 - Hidden Star in Four Seasons/thcrap/repos/thpatch/lang_en/th16/title/result00.png
(PNG) Resolving th16/title/weapon04b.png... 
    + D:/Games/Touhou/Official/Touhou 16 - Hidden Star in Four Seasons/thcrap/repos/thpatch/lang_en/th16/title/weapon04b.png
(PNG) Resolving th16/title/spell.png... 
    + D:/Games/Touhou/Official/Touhou 16 - Hidden Star in Four Seasons/thcrap/repos/thpatch/lang_en/th16/title/spell.png
-------------
(Data) Resolving th16/title_v.anm... not found
(JSON) Resolving th16/title_v.anm.jdiff... not found
---- ANM ----
(PNG) Resolving th16/title/title_ver.png... not found
-------------
Shutting down repatch watcher thread.
Statistics:
----
• Last error codes: 0 (queue), 0 (changes)
• Total number of file changes parsed: 0
• Maximum buffer fill state: 0/65536 bytes
----
Removing plug-ins...
